1. Technical Field
The present invention generally relates to service oriented architectures and to systems and methods for providing an interaction between a status management service and an audit trail service. More particularly, and without limitation, embodiments consistent with the present invention relate to systems and methods that are adapted to activate an audit trail service when a business object has reached a designated status.
2. Background
The manner in which enterprises conduct business continues to evolve due to advances and changes in the marketplace. Whether these advances and changes occur through growing competition and globalization, mergers and acquisition, or a revamping of business models, the key for success will often depend on how quickly an enterprise's information technology (IT) organization can adapt to evolving business needs. Therefore, a major challenge to these enterprises is how they handle change.
For organizations to maintain business agility, they must ensure that enterprise applications are not only high-performance business engines driving efficiencies, but also that they become flexible building blocks of future business systems. A recent and promising solution has risen in the form of services. A service, such as a Web service or program, represents a self-contained and self-describing piece of application functionality that can be found and accessed by other applications. A service can be considered self-contained because the application using the service does not have to depend on anything other than the service itself. A service can be considered self-describing because all the information on how to use the service can be obtained from the service itself. Descriptions for a service are centrally stored and accessible through standard mechanisms.
Rather than requiring programmers to establish and maintain links between applications, services are loosely coupled, making connections simpler and more flexible and allowing application architects to more easily find and understand services offered by other cooperative applications. However, services are often designed to expose functionality of individual applications and, thus, are too limited to be efficient building blocks for enterprise-wide business processes. A solution to this shortfall has been the migration to a Service Oriented Architecture (SOA). SOA is an open architecture middleware, which builds on the benefits of services. An example of an SOA can be found in the Enterprise Service Framework (ESF), which is commercially available from SAP AG (Walldorf, Germany). Furthermore, the term “SOA” may also refer to “distributed objects” architecture, such as CORBA (Common Object Request Broker Architecture) and DCOM (Distributed Component Object Model).
SOA enables the abstraction of business objects, modeled as services (also referred to as enterprise services), from actual applications. Aggregating services into business-level enterprise services may provide more meaningful building blocks for the task of automating enterprise-scale business scenarios. Enterprise services may also allow IT organizations to efficiently develop composite applications, which combine functionality and information from existing systems to support new business processes or scenarios.
SOA also enables the use of an enterprise services repository. An enterprise services repository stores relevant pre-existing enterprise services and makes them available to selected partners and customers. By using the enterprise services repository, these selected partners and customers can use the pre-existing enterprise services to aid in the implementation of new services and corresponding business objects. In particular, the term “object” refers to a software bundle of variables (e.g., data) and related methods. For example, in object-oriented programming, an object is a concrete realization (instance) of a class that consists of data and the operations associated with that data. The term “business object” represents a physical or logical object of significance to a business, such as a purchase order.
Frequently, there are many situations where a business should record changes to business objects implemented by partners and customers. For example, an online transaction processing system should record alteration, creation, or deletion of a business object and its transactional data in order to track changes for internal or regulatory reasons, such as for financial audits. In addition, there are also situations where a business would like to use status information regarding business objects to indicate which kinds of tasks may be performed on the business object. For example, a business object may be deleted or altered depending upon its status.
Currently, there are different specialized status management and auditing solutions for different business objects. However, in current systems, existing SOAs fail to provide generic status management and auditing services that may be used by any kind of business object in a SOA. Instead, current solutions are specific to particular kinds of data and are costly to design, implement, and maintain. Therefore, there is a need for centralized status management and audit trail services that are suitable for any business object. Furthermore, there is a need for functionality that enables these generic status management and audit trail services to interact in an efficient manner when handling a business object.